Search engine analytics and optimization for media content in social networks

ABSTRACT

Embodiments include method, systems and computer program products for searching a social network for media content. Aspects include receiving a query for media content related to a topic from a user, identifying a plurality of content items associated with the topic and determining a quality score for each of the plurality of content items. Aspects also include providing a subset of the plurality of content items to the user, wherein the subset is selected based on the quality score and updating the quality score of one or more content items in the subset based on a behavior of the user in viewing the subset of the plurality of content items.

DOMESTIC PRIORITY

This application is a continuation of the legally related U.S.application Ser. No. 15/063,676 filed Mar. 8, 2016 which is aContinuation of legally related U.S. application Ser. No. 14/838,813filed Aug. 28, 2015, which is fully incorporated herein by reference.

BACKGROUND

The present disclosure relates to social networks and more specifically,to methods, systems and computer program products for providing searchengine analytics and optimization for media content in social networks.

Recently, social networks have become an increasingly popular way forpeople to communicate with each other. One common use of social networksis for users to post media content items, such as pictures and videos,for others to see. In many cases the users may choose to associate oneor more topics with the media content that they post. For example, usersmay associate one or more hashtags with a piece of content that theypost. Users of the social network are able to search the social networkfor media content items that are related to various topics by searchingfor specific topics/tags.

One drawback to the current searching functions of social networks isthat the results are presented based on the recency of when they wereposted and the results are not ranked or filtered by their relevance tothe topic searched. Currently, a user can associate any topic with acontent item that they post, whether or not the content item is relatedto the topic. As a result, sometimes not all content items are relatedto the topics that users associated it with. This creates a problem forusers who would like to search for content items related to a certaintopic/tag in a social network.

SUMMARY

In accordance with an embodiment, a method for operating a search enginefor media content in a social network is provided. The method includesreceiving a query for media content related to a topic from a user,identifying a plurality of content items associated with the topic, anddetermining a quality score for each of the plurality of content items,wherein the quality score is an indication of a correlation between eachof the plurality of the content item and the topic. The method alsoincludes providing a subset of the plurality of content items to theuser, wherein the subset is selected based on the quality score andupdating the quality score of one or more content items in the subsetbased on a behavior of the user in viewing the subset of the pluralityof content items.

In accordance with another embodiment, a system for searching a socialnetwork for media content includes a processor in communication with oneor more types of memory. The processor is configured to receive a queryfor media content related to a topic from a user, identify a pluralityof content items associated with the topic, and determine a qualityscore for each of the plurality of content items, wherein the qualityscore is an indication of a correlation between each of the plurality ofthe content item and the topic. The processor is also configured toprovide a subset of the plurality of content items to the user, whereinthe subset is selected based on the quality score and update the qualityscore of one or more content items in the subset based on a behavior ofthe user in viewing the subset of the plurality of content items.

In accordance with a further embodiment, a computer program product foroperating a search engine for media content in a social network includesa non-transitory storage medium readable by a processing circuit andstoring instructions for execution by the processing circuit forperforming a method. The method includes receiving a query for mediacontent related to a topic from a user, identifying a plurality ofcontent items associated with the topic, and determining a quality scorefor each of the plurality of content items, wherein the quality score isan indication of a correlation between each of the plurality of thecontent item and the topic. The method also includes providing a subsetof the plurality of content items to the user, wherein the subset isselected based on the quality score and updating the quality score ofone or more content items in the subset based on a behavior of the userin viewing the subset of the plurality of content items.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The forgoing and other features, and advantages ofthe invention are apparent from the following detailed description takenin conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram illustrating one example of a processingsystem for practice of the teachings herein;

FIG. 2 is a block diagram illustrating a social network in accordancewith an exemplary embodiment;

FIG. 3 is a block diagram of a user interface for receiving anindication of a correlation between a searched topic and content itemsin a social network in accordance with an exemplary embodiment; and

FIG. 4 is a flow diagram of a method for operating a search engine formedia content in a social network in accordance with an exemplaryembodiment.

DETAILED DESCRIPTION

In accordance with exemplary embodiments of the disclosure, methods,systems and computer program products for operating a search engine formedia content in a social network are provided. In exemplaryembodiments, content providers upload media content to the socialnetwork and associate one or more topics with the media content. Mediacontent may include, but is not limited to, photos, videos, or musicfiles. In exemplary embodiments, the search engine of the social networkis configured to create a quality score that is used to track acorrelation between piece of media content and each associated topic.The quality score can be based on feedback regarding the correlationbetween each topic and a piece of associated media content that isreceived from users of the social network or from metrics of how usersof the social network interact with the media content and the associatedtopic. In exemplary embodiments, the search engine of the social networkutilizes the quality score to rank the search results that will beprovided when a user of the social network searches for media contentthat is associated with a topic.

Referring to FIG. 1, there is shown an embodiment of a processing system100 for implementing the teachings herein. In this embodiment, thesystem 100 has one or more central processing units (processors) 101 a,101 b, 101 c, etc. (collectively or generically referred to asprocessor(s) 101). In one embodiment, each processor 101 may include areduced instruction set computer (RISC) microprocessor. Processors 101are coupled to system memory 114 and various other components via asystem bus 113. Read only memory (ROM) 102 is coupled to the system bus113 and may include a basic input/output system (BIOS), which controlscertain basic functions of system 100.

FIG. 1 further depicts an input/output (I/O) adapter 107 and a networkadapter 106 coupled to the system bus 113. I/O adapter 107 may be asmall computer system interface (SCSI) adapter that communicates with ahard disk 103 and/or tape storage drive 105 or any other similarcomponent. I/O adapter 107, hard disk 103, and tape storage device 105are collectively referred to herein as mass storage 104. Operatingsystem 120 for execution on the processing system 100 may be stored inmass storage 104. A network adapter 106 interconnects bus 113 with anoutside network 116 enabling data processing system 100 to communicatewith other such systems. A screen (e.g., a display monitor) 115 isconnected to system bus 113 by display adaptor 112, which may include agraphics adapter to improve the performance of graphics intensiveapplications and a video controller. In one embodiment, adapters 107,106, and 112 may be connected to one or more I/O busses that areconnected to system bus 113 via an intermediate bus bridge (not shown).Suitable I/O buses for connecting peripheral devices such as hard diskcontrollers, network adapters, and graphics adapters typically includecommon protocols, such as the Peripheral Component Interconnect (PCI).Additional input/output devices are shown as connected to system bus 113via user interface adapter 108 and display adapter 112. A keyboard 109,mouse 110, and speaker 111 all interconnected to bus 113 via userinterface adapter 108, which may include, for example, a Super I/O chipintegrating multiple device adapters into a single integrated circuit.

In exemplary embodiments, the processing system 100 includes a graphicsprocessing unit 130. Graphics processing unit 130 is a specializedelectronic circuit designed to manipulate and alter memory to acceleratethe creation of images in a frame buffer intended for output to adisplay. In general, graphics processing unit 130 is very efficient atmanipulating computer graphics and image processing, and has a highlyparallel structure that makes it more effective than general-purposeCPUs for algorithms where processing of large blocks of data is done inparallel.

Thus, as configured in FIG. 1, the system 100 includes processingcapability in the form of processors 101, storage capability includingsystem memory 114 and mass storage 104, input means such as keyboard 109and mouse 110, and output capability including speaker 111 and display115. In one embodiment, a portion of system memory 114 and mass storage104 collectively store an operating system such as the AIX® operatingsystem from IBM Corporation to coordinate the functions of the variouscomponents shown in FIG. 1. The system 100 may be, but is not limitedto, a mainframe computer, a desktop computer, a laptop computer, amobile phone, a wireless tablet or the like.

Referring now to FIG. 2, a system 200 including a social network 210 inaccordance with an embodiment is illustrated. As illustrated, the system200 includes a social network 210, a content provider 204 and a user202. The social network 210 includes a content database 214 configuredto store content received from the content providers 204 along withassociated topics or tags. The social network 210 also includes a searchengine 212 configured to receive a query including a topic from a user202 and to responsively search the content database 214 for contentassociated with the topic.

In exemplary embodiments, the search engine 212 of the social network210 is configured to create a quality score that is used to track acorrelation between each topic and a piece of associated content. Thequality score is stored in the content database 214 and can be based onfeedback regarding the correlation between each topic and a piece ofassociated content that is input from users 202 of the social network210 or from metrics of how users 202 of the social network 210 interactwith the content and the associated topic. In exemplary embodiments, thesearch engine 212 of the social network 212 utilizes the quality scorein ranking the search results that will be provided when a user 202 ofthe social network 210 searches for media content that is associatedwith a topic.

In exemplary embodiments, the search engine 212 of the social network210 is configured to monitor a behavior of the users 202 of the socialnetwork 210 and to capture information that is indicative of therelevancy of content items to the associated topics. For example, uponreceiving a query from a user 202 for topic A, the search engine 212provides a list of content items. The search engine 212 can then monitorthe behavior of the user 204 with respect to the content items providedand can extract relevancy information from the user's behavior. Forexample, if a user 202 spends more time viewing a particular contentitem, expresses liking a particular content item, writes a commentrelating to a particular content item, or follows a content provider 204of a particular content item it is a good indication that the contentitem is relevant to the searched topic. The search engine 212 canmonitor the interaction of the user 202 with the content items providedand can use the interaction information to create and/or modify thequality score of the content items. The quality score of the contentitems can then be used by the search engine in determining how to rankthe search results for new queries.

In exemplary embodiments, the search engine 212 can also create and/orupdate the quality score based on explicit feedback regarding thecorrelation between topics and a piece of associated content that isreceived from a user 202 of the social network 210. For example, uponreceiving a query from a user 202 for topic A, the search engine 212provides a list of content items. The search engine 212 can then providethe user 202 with a user interface option to indicate a positivecorrelation between the searched topic and the content item (e.g., thecontent item is related to the searched topic) and/or a negativecorrelation between the searched topic and the content item (e.g., thecontent item is not related to the searched topic.

In exemplary embodiments, the search engine of the social network isconfigured to use a ranking algorithm to sort the search resultsprovided to a user in response to a query. The ranking algorithm may usea combination of the quality score, which represents the relevancy ofthe searched topic to the content times, and a time associated with thecontent items, such as when the content was posted, to rank the contentitems for displaying to the user. In another embodiment, the rankingalgorithm may only use the quality score to rank the content items fordisplaying to the user. In another embodiment, positive or negativefeedback of a content from a plurality of users who searched on the sametopic can contribute to the calculation of a quality score.

In exemplary embodiments, if a content item has a high percentage ofnegative feedback explicitly expressed by users compared to the positivefeedback (or the percentage is below a certain threshold), the contentitem may be included in a mismatch topic list. In addition, contentitems that are identified as belong to the mismatch topic list may havethe improperly associated topic removed automatically or by socialnetwork teams after review.

Referring now to FIG. 3, a user interface 300 for allowing a user toindicate a correlation between the searched topic and content items in asocial network in accordance with an exemplary embodiment is provided.As illustrated, the user interface 300 displays a plurality of contentitems 302 that are related to a search topic 304. The user interface 300includes a plurality of user controls that include, but are not limitedto, a back button 308, a home button 310, a favorite button 312, a likebutton 314, a relevant button 316 and a not relevant button 318. Inexemplary embodiments, the user can select the like button 314 toexpress his or her liking to the media content. The user can select thefavorite button 312 to express the media content is one of his or herfavorite and enable the system to mark and store the media content inhis or her favorite list. The user can select the relevant button 316 orthe not relevant button 318 to express his or her opinion about therelevancy of the media content with respect to the searched topic. Inexemplary embodiments, after a user selects one or the favorite button312, the relevant button 314 and the not relevant button 316, aselection box 306 is overlaid on each content item 302 and allows a userto select the content items 302 that correspond to the selected category(favorite, relevant, not relevant). As will be appreciated by those ofordinary skill in the art, a similar user interface can be used for theviewing of a single content item as well. In addition, when viewingcontent items that have multiple associated topics, the user interfacecan allow the user to indicate whether the content item is relevant ornot relevant to each of the separate topics.

In exemplary embodiment, the search engine of the social network maytrack the behavior of a user of the social network to create and store atopic relationship database. For example, if a user searches for a firsttopic, selects an image from the search results, and then from theselected image selects another associated topic, it may be used as anindication that both topics are related. Accordingly, the topics can bestored as related in the topic relationship database. The topicrelationship database can then be used by the search engine to determinewhat content items may be relevant to a searched topic.

In one example, a user searches for a topic of “chicken” and selects animage from the set of results. Next, the user clicks on a topic of“salad” from the selected image, which instructs the search engine toperform a search for the topic “salad.” In this example, a linkagebetween chicken topic and salad topic is created and stored in the topicrelationship database. In exemplary embodiments, the search engine maybe configured to look up a search topic received from a user in thetopic relationship database and if the user requests a repeated search,content items that have the requested topic and also have linked topicsmay be presented higher in the search results. In exemplary embodiments,the topic relationship database can be used track both individual topiclinkages as well as social network wide topic linkages that areaggregated from a plurality of individual users.

In many cases, malicious content providers may seek to have their postedcontent viewed as often as possible and may associate irrelevant, buthighly popular, topics with content that they post to the socialnetwork. In exemplary embodiments, the search engine of the socialnetwork may also track the behavior of the content providers and mayadjust the quality score of the content items posted by the contentproviders based on the history of the content provider. In exemplaryembodiments, the quality score of an association between a content itemposted by a content provider and an associated topic may default to ahistorical quality score for the content provider based on calculatedquality scores for the items previously posted by the content provider.In addition, the quality score of a score of an association between acontent item posted by a content provider and an associated topic may bebased on a length of time the content provider has been a member of thesocial network or a number of posts the content provider has made to thesocial network. For example, new content providers using the socialnetwork may have a maximum quality score that increases as their use ofthe social network increases and the relevancy of the content theyposted with respect to the associated topics or tags they defined forthe content. Such a maximum quality score for new users can serve toreduce the problem of individuals creating new accounts for a socialnetwork and posting content items and associating them with irrelevantand popular topics.

Referring now to FIG. 4, a flow diagram of a method 400 for operating asearch engine for media content in a social network in accordance withan exemplary embodiment is shown. As shown at block 402, the method 400includes receiving a query for media content related to a topic from auser. Next, the method 400 includes identifying a plurality of contentitems associated with the topic, as shown at block 404. The method 400also includes determining a quality score for each of the plurality ofcontent items, as shown at block 406. In exemplary embodiments, thequality score is an indication of the correlation between the contentitem and the topic. Next, as shown at block 408, the method 400 includesproviding a subset of the plurality of content items to the users,wherein the subset is selected based on the quality score.

In one embodiment, the subset may include content items that have aquality score above a threshold level. In exemplary embodiments, thecontent items of the subset may be provided to the user in an order thatis determined based on their associated quality score and based on atimestamp associated with the content items. For example, the subset ofcontent items may be selected to include only content items that have aquality score of above 80 and may be presented to the user in an orderbased on a timestamp associated with the content items. In anotherembodiment, the subset may include a predetermined number of contentitems that have the highest quality scores. In exemplary embodiments,the content items of the subset may be provided to the user in an orderthat is determined based on their relative associated quality scores,i.e., the highest quality score items are displayed first. In exemplaryembodiments, the user may determine, and save in their user preferences,what metrics are used in selecting the members of the subset and whatmetrics are used to order the presentation of the content items.

Continuing with reference to FIG. 4, as shown at block 410, the method400 includes updating the quality score of one or more content items inthe subset based on a behavior of the user in viewing the subset of theplurality of content items. In one embodiment, the behavior of the userin viewing the subset of the plurality of content items includesreceiving feedback from the user that one or more content items in thesubset is relevant to the topic and/or that one or more content items inthe subset is not relevant to the topic. In another embodiment, thebehavior of the user in viewing the subset of the plurality of contentitems includes a user liking one or more content items in the subset. Ina further embodiment, the behavior of the user in viewing the subset ofthe plurality of content items includes an amount of time that a userspends looking at one or more content items in the subset. In yetanother embodiment, the behavior of the user in viewing the subset ofthe plurality of content items includes a user following a contentprovider that posted one or more content items in the subset.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

What is claimed is:
 1. A computer program product for operating a searchengine for media content in a social network, the computer programproduct comprising: a non-transitory storage medium readable by aprocessing circuit and storing instructions for execution by theprocessing circuit for performing a method comprising: receiving a queryfor media content related to a topic from a user; identifying aplurality of content items associated with the topic; determining aquality score for each of the plurality of content items, wherein thequality score is an indication of a correlation between the content itemand the topic and wherein the quality score for each of the plurality ofcontent items is further based on a length of time that a contentprovider of the content item has been a member of the social network;providing a subset of the plurality of content items to the user,wherein the subset is selected based on the quality score, wherein thesubset includes a predetermined number of content items that have thehighest quality scores, wherein the subset of the plurality of contentitems is provided to the user in a ranked order that is based on acombination the quality score of each of the subset of the plurality ofcontent items and a time that each of the subset of the plurality ofcontent items was posted to the social network; updating the qualityscore of one or more content items in the subset based on a behavior ofthe user in viewing the subset of the plurality of content items,wherein the behavior of the user in viewing the subset of the pluralityof content items includes the user liking one or more content items inthe subset, the user following a content provider that posted one ormore content items in the subset, and an amount of time the user spendsviewing the one or more content items in the subset; and furtherupdating the quality score of the one or more content items in thesubset further based upon receiving explicit feedback from the userincluding at least one of an indication of a positive correlation and anegative correlation between the topic and the one or more of thecontent items in the subset, wherein the indication of the positivecorrelation is generated by the user via a relevant button on a userinterface and wherein the indication of the negative correlation isgenerated by the user via a not relevant button on the user interface.